The present invention generally relates to a semiconductor integrated circuit device having a microprogram, and more particularly to a semiconductor integrated circuit device having a microprogram, which is suitably used for controlling a direct memory access transfer, for example.
Recently, it is required to transfer a large amount of data such as image data with extremely high speed between a data processing system such as a personal computer and a workstation, and an external unit such as a disc unit. It is also required to transfer a large amount of data between memories provided in the system with extremely high speed. A conventional data transfer is carried out under the control of a central processing unit (hereafter simply referred to as CPU) provided in the data processing apparatus. Therefore, the processing speed of the conventional data transfer depends on the processing speed of the CPU. From this viewpoint, it is impossible to transfer data at a speed in excess of the processing speed of the CPU. Further, it takes a long time to transfer a large amount of data even when the data is low-speed data. From the above-mentioned viewpoints, a direct memory access transfer is used which enables it to transfer data between the data processing unit, and the external unit without using the CPU. Hereafter, direct memory access is simply referred to as DMA. The DMA transfer is intended to effectively process a large amount of data and high-speed data.
The above-mentioned DMA transfer is controlled by a DMA controller, which is an example of semiconductor integrated circuit device having a microprogram. A DMA controller stores a microprogram for controlling the DMA transfer, and is generally fabricated as a large scale integrated circuit (hereafter simply referred to as LSI). Recent research and development of LSIs result in an increased integration density and extended functions.
At an initial step of the development of the DMA controllers, microprograms built therein were not complex. Therefore, it was easy to test LSIs. However, currently, a large amount of microprogram is stored in a memory formed in LSIs in order to present a variety of functions. For example, a DMA controller available in the market has a microprogram which consists of 384 (words).times.80 (bit) words. In order to test all these words, all of the corresponding microaddresses must be supplied to the memory. It takes an extremely long time to test the microprogram in this way. Additionally, in the conventional DMA controllers, it is impossible to start the microprogram on the half-way thereof. Further, the conventional DMA controllers are not designed to output various control signals used in the DMA controller to an external circuit. It will be seen that a variety of tests are required as the functions extend. For these reasons, tests of the DMA controllers are complex and troublesome, and needs a large amount of time.